home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48hor2 / rplxmpl.dir < prev    next >
File List  |  1993-02-18  |  14KB  |  951 lines

  1. %%HP: T(3)A(D)F(.);
  2. DIR
  3.   SETUP
  4.   \<< CCD \->RPL EVAL \>>
  5.  
  6.   UP
  7. "(UP)
  8. ASSEMBLE
  9. %18 EQU #1CDF2
  10. RPL
  11. ::
  12.  CK0
  13.  GetMenu% %IP>#
  14.  2 #=casedrop UPDIR
  15.  DUP 60
  16.  #<ITE
  17.  ::
  18.   {
  19.    %0 %0 %0 %3 %3 %3
  20.    %3 %3 %3 %0 %10 %10
  21.    %10 %10 %10 %10 %0
  22.    %0 %18 %0 %0 %0 %0
  23.    %0 %24 %24 %24 %0
  24.    %0 % 29 %0 % 31
  25.    % 32 %0 %0 % 35
  26.    % 35 % 37 % 35 %0
  27.    % 40.04 %0 % 42
  28.    % 42 % 42 % 42 % 42
  29.    % 42 % 42.02
  30.    % 42.02 % 40.02
  31.    % 40.02 % 42.02
  32.    % 42.02 % 42.03
  33.    % 42.03 % 42.03
  34.    % 42.03 % 42
  35.   }
  36.   SWAP NTHELCOMP
  37.   NOTcase %0
  38.  ;
  39.  ::
  40.   DROP %24
  41.  ;
  42.  InitMenu%
  43.  SetDA12NoCh
  44. ;"
  45.  
  46.   MON
  47. "(MON)
  48. ASSEMBLE
  49. 2NULLLAM{}  EQU #36D5A
  50. RPL
  51. ::
  52.  CK0NOLASTWD
  53.  {
  54.   18 16 17 11 49 44
  55.   39 34 29 28 27 26
  56.  }
  57.  {
  58.   # 1     # FFFFF
  59.   # 10    # FFFF0
  60.   # 100   # FFF00
  61.   # 1000  # FF000
  62.   # 10000 # F0000
  63.   # 70    # FFF90
  64.  }
  65.  2NULLLAM{} BIND
  66.  NULL$ # 142 EXPAND
  67.  ID MONpar
  68.  DUPTYPEHSTR? ?SKIP
  69.  ::
  70.   DROP ' ID MONpar
  71.   HXS 5 00100
  72.   OVER STO EVAL
  73.  ;
  74.  BEGIN
  75.   BEGIN
  76.    CODE
  77.     GOSBVL =SAVPTR
  78.     A=DAT1 A
  79.     A=A+CON A,10
  80.     R0=A
  81.     D0=A
  82.     A=DAT0 A
  83.     R1=A
  84.     D1=D1+ #5
  85.     A=DAT1 A
  86.     D1=A
  87.     D1=D1+ #A
  88.     LCHEX  00006
  89.     B=C    A
  90. LBEDB6
  91.     LCHEX  00004
  92.     D=C    A
  93.     A=R0
  94.     D0=A
  95.     D1=D1+ #8
  96. LBEDC8
  97.     GOSUB  LBEE33
  98.     D1=D1- #2
  99.     D=D-1  A
  100.     GONC   LBEDC8
  101.     D1=D1+ #C
  102.     LCHEX  3A
  103.     DAT1=C B
  104.     D1=D1+ 2
  105.     LCHEX  0000F
  106.     D=C    A
  107.     D0=D0- #5
  108.     A=DAT0 A
  109.     D0=A
  110. LBEDF3
  111.     GOSUB  LBEE33
  112.     D1=D1+ #2
  113.     D=D-1  A
  114.     GONC   LBEDF3
  115.     LCHEX  0A
  116.     DAT1=C B
  117.     D1=D1+ #2
  118.     A=R0
  119.     D0=A
  120.     A=DAT0 A
  121.     A=A+CON A,16
  122.     DAT0=A A
  123.     B=B-1  A
  124.     GONC   LBEDB6
  125.     A=R0
  126.     D0=A
  127.     A=R1
  128.     DAT0=A A
  129.     GOVLNG =GETPTRLOOP
  130. LBEE33
  131.     C=0    B
  132.     C=DAT0 1
  133.     LAHEX  30
  134.     C=C+A  B
  135.     LAHEX  39
  136.     ?C<=A  B
  137.     GOYES  LBEE5A
  138.     LAHEX  07
  139.     C=C+A  B
  140. LBEE5A
  141.     DAT1=C B
  142.     D0=D0+ #1
  143.     RTN
  144.    ENDCODE
  145.    OVER 1 7 Disp5x7
  146.    ?ATTNQUIT
  147.    GETTOUCH
  148.   UNTIL
  149.   H/W>KeyCode
  150.   1GETLAM 2GETLAM ROT
  151.   #=POSCOMP NTHELCOMP
  152.   ITE
  153.    CODE
  154.     GOSBVL =POP#
  155.     GOSBVL =SAVPTR
  156.     C=DAT1 A
  157.     CD1EX
  158.     D1=D1+ #A
  159.     C=DAT1 A
  160.     C=C+A  A
  161.     DAT1=C A
  162.     GOVLNG =GPPushFLoop
  163.    ENDCODE
  164.    TRUE
  165.  UNTIL
  166.  DROP
  167.  ABND
  168. ;"
  169.  
  170.   LBLD
  171. C$ 2926 (LBLD)
  172. ASSEMBLE
  173. Repeater    EQU #51735
  174. RPL
  175. ::
  176.  CK0
  177.  POLSaveUI
  178.  ERRSET
  179.  ::
  180.   FALSE 4 11 FALSE'
  181.   ::
  182.    5GETLAM 21 #+
  183.    6GETLAM 55 #+OVER
  184.    44 #+OVER
  185.    2DUP PIXON?
  186.    IT 2SWAP
  187.    PIXON PIXOFF
  188.   ;
  189.   '
  190.   ::
  191.    7GETLAM IT
  192.    :: 3GETLAM EVAL
  193.    ;
  194.    GROB 12 400004000090606090
  195.    TOTEMPOB
  196.    5GETLAM 21 #+
  197.    6GETLAM 55 #+
  198.    PIXON? ?SKIP INVGROB
  199.    HARDBUFF
  200.    5GETLAM
  201.    #1- 5 #* #1+
  202.    6GETLAM
  203.    #1- 5 #* 11 #+
  204.    GROB!
  205.   ;
  206.   '
  207.   ::
  208.    4 4 MAKEGROB
  209.    5GETLAM 21 #+
  210.    6GETLAM 55 #+
  211.    PIXON? IT INVGROB
  212.    HARDBUFF
  213.    5GETLAM
  214.    #1- 5 #* #1+
  215.    6GETLAM
  216.    #1- 5 #* 11 #+
  217.    GROB!
  218.   ;
  219.   ' NULLLAM 7 NDUPN
  220.   DOBIND
  221.   ClrDA1IsStat
  222.   RECLAIMDISP
  223.   3 0
  224.   $ "HP-48 GRAPHIC MENU LABEL MAKER"
  225.   $>grob XYGROBDISP
  226.   110 $ "EXIT"
  227.   MakeStdLabel
  228.   88 $ "\\->STK"
  229.   MakeStdLabel
  230.   66 8 21 MAKEGROB
  231.   INVGROB
  232.   44 $ "SBGR"
  233.   MakeStdLabel
  234.   0 $ "TOG"
  235.   MakeStdLabel
  236.   TURNMENUOFF
  237.   5 ZERO_DO
  238.    56 SWAP XYGROBDISP
  239.   LOOP
  240.   45 ZERO_DO
  241.    INDEX@ #10+
  242.    110 ZERO_DO
  243.     INDEX@ OVER PIXON
  244.     5
  245.    +LOOP
  246.    DROP 5
  247.   +LOOP
  248.   2GETEVAL
  249.   '
  250.   ::
  251.    $ "Y: "
  252.    6GETLAM #>$ &$
  253.    MakeInvLabel
  254.    HARDBUFF
  255.    109 36
  256.    $ "X: "
  257.    5GETLAM #>$ &$
  258.    MakeInvLabel
  259.    HARDBUFF
  260.    4PICK 16
  261.    GROB! GROB!
  262.   ;
  263.   '
  264.   ::
  265.    1 #=casedrop
  266.    ::
  267.     11 ?CaseKeyDef
  268.     ::
  269.      TakeOver
  270.      Repeater 11
  271.      ::
  272.       1GETLAM EVAL
  273.       6GETLAM #1-
  274.       DUP#0=IT
  275.       :: DROP 8
  276.       ;
  277.       6PUTLAM 2GETEVAL
  278.      ;
  279.     ;
  280.     16 ?CaseKeyDef
  281.     ::
  282.      TakeOver
  283.      Repeater 16
  284.      ::
  285.       1GETLAM EVAL
  286.       5GETLAM #1-
  287.       DUP#0=IT
  288.       :: DROP 21
  289.       ;
  290.       5PUTLAM 2GETEVAL
  291.      ;
  292.     ;
  293.     17 ?CaseKeyDef
  294.     ::
  295.      TakeOver
  296.      Repeater 17
  297.      ::
  298.       1GETLAM EVAL
  299.       6GETLAM #1+DUP
  300.       9 #= IT DROPONE
  301.       6PUTLAM 2GETEVAL
  302.      ;
  303.     ;
  304.     18 ?CaseKeyDef
  305.     ::
  306.      TakeOver
  307.      Repeater 18
  308.      ::
  309.       1GETLAM EVAL
  310.       5GETLAM #1+DUP
  311.       22 #= IT DROPONE
  312.       5PUTLAM 2GETEVAL
  313.      ;
  314.     ;
  315.     25 ?CaseKeyDef
  316.     ::
  317.      TakeOver
  318.      7GETLAM ?SKIP
  319.      :: 3GETLAM EVAL
  320.      ;
  321.      2GETEVAL
  322.     ;
  323.     1 ?CaseKeyDef
  324.     ::
  325.      TakeOver
  326.      0 56 $ "TOG"
  327.      7GETLAM NOT
  328.      DUP 7PUTLAM
  329.      Box/StdLabel
  330.      XYGROBDISP
  331.      2GETEVAL
  332.     ;
  333.     3 ?CaseKeyDef
  334.     ::
  335.      TakeOver
  336.      HARDBUFF
  337.      22 56 OVER
  338.      5GETLAM #+OVER
  339.      6GETLAM #+
  340.      SUBGROB
  341.      DUP TOTEMPOB
  342.      INVGROB
  343.      $ "Inv" >TAG
  344.      SWAP
  345.      $ "Reg" >TAG
  346.     ;
  347.     5 ?CaseKeyDef
  348.     ::
  349.      TakeOver
  350.      HARDBUFF
  351.      22 56 43 64
  352.      SUBGROB
  353.      DUP TOTEMPOB
  354.      INVGROB
  355.      $ "Inv" >TAG
  356.      SWAP
  357.      $ "Reg" >TAG
  358.     ;
  359.     6 ?CaseKeyDef
  360.     ::
  361.      TakeOver
  362.      TRUE 4PUTLAM
  363.     ;
  364.     45 ?CaseKeyDef
  365.     ::
  366.      TakeOver
  367.      TRUE 4PUTLAM
  368.     ;
  369.     40 #=casedrpfls
  370.     DROPDEADTRUE
  371.    ;
  372.    3 #=casedrop
  373.    ::
  374.     45 #=casedrpfls
  375.     DROPDEADTRUE
  376.    ;
  377.    2DROP 'DoBadKeyT
  378.   ;
  379.   TrueTrue FALSE
  380.   ONEFALSE' 4GETLAM
  381.   'ERRJMP
  382.   POLSetUI
  383.   POLKeyUI
  384.   ABND
  385.   TURNMENUON
  386.   RECLAIMDISP
  387.   ClrDAsOK
  388.  ;
  389.  ERRTRAP
  390.   POLResUI&Err
  391.  POLRestoreUI
  392. ;
  393.  
  394.   PBYTES
  395. "(PBYTES)
  396. ASSEMBLE
  397. PORTDUMP    EQU #21922
  398. RPL
  399. ::
  400.  CK1NoBlame CKREAL
  401.  COERCE PORTDUMP
  402.  DUP#0=csedrp
  403.  :: DROP %0
  404.  ;
  405.  0 SWAP
  406.  ZERO_DO
  407.   SWAP OSIZE #+
  408.  LOOP
  409.  SWAPDROP
  410.  UNCOERCE %2 %/
  411. ;"
  412.  
  413.   \->rpl
  414. C$ 544 (\->rpl)
  415. ASSEMBLE
  416. EvalNoCK:   EQU #18F6A
  417. RPL
  418. ::
  419.  CK1NoBlame
  420.  BEGIN
  421.   1LAMBIND
  422.   ERRSET
  423.   ::
  424.    1GETLAM
  425.    ROMPTR 4D2 1 (\->RPL)
  426.    TRUE
  427.   ;
  428.   ERRTRAP
  429.   :: DropSysObs FALSE
  430.   ;
  431.   1GETABND SWAP
  432.   ITE
  433.    DROPTRUE
  434.   ::
  435.    ERROR@
  436.    DUP#0=csedrp TRUE
  437.    DUP GETTHEMESG
  438.    SWAP
  439.    # 70000 #=case
  440.    ::
  441.     DUP DISPSTATUS2
  442.     SWAPOVER SEP$NL
  443.     SWAPDROP
  444.     DUP $ ":"
  445.     OVERLEN$ POS$REV
  446.     #1+ OVERLEN$ SUB$
  447.     DOSTR>
  448.     TWO{}N
  449.     EvalNoCK: xINPUT
  450.     FALSE
  451.    ;
  452.    $ "\\->RPL Error:\\010"
  453.    SWAP&$
  454.    DISPSTATUS2
  455.    SetDA1Temp
  456.    TRUE
  457.   ;
  458.  UNTIL
  459. ;
  460.  
  461.   DCD
  462. C$ 520 (DCD)
  463. ::
  464.  CK1NoBlame
  465.  DUPTYPERRP?
  466.  NcaseTYPEERR
  467.  ROMPTR 4C5 5 (OB\->)
  468.  COERCE
  469.  DUP#0=case SETSIZEERR
  470.  DUP #2* 1LAMBIND
  471.  BlankDA2
  472.  $ "Processing:\\010"
  473.  DISPSTATUS2
  474.  #1+_ONE_DO
  475.   1GETLAM ROLL
  476.   1GETLAM ROLL
  477.   DUP ID>$ DISPROW2
  478.   SWAP
  479.   ::
  480.    DUPTYPERRP? ?SEMI
  481.    XEQTYPE %25 %=
  482.    ITE
  483.    ::
  484.     ROMPTR 4D2 3 (COD\->)
  485.     OVER ID>$
  486.     CHR_* >H$
  487.    ;
  488.    ::
  489.     ROMPTR 4D2 0 (RPL\->)
  490.     OVER ID>$
  491.     CHR_LeftPar >H$
  492.     CHR_RightPar >T$
  493.    ;
  494.    NEWLINE$&$ !insert$
  495.   ;
  496.   SWAP
  497.  LOOP
  498.  1GETABND #2/
  499.  UNCOERCE
  500.  ROMPTR 4C5 6 (\->DIR)
  501. ;
  502.  
  503.   CCD
  504. C$ 445 (CCD)
  505. ::
  506.  0LASTOWDOB!
  507.  CK0NOLASTWD
  508.  $ "Processing:\\010"
  509.  DISPSTATUS2
  510.  0
  511.  DOVARS DUP1LAMBIND
  512.  LENCOMP
  513.  #1+_ONE_DO
  514.   1GETLAM INDEX@
  515.   NTHCOMPDROP
  516.   DUP ID>$ DISPROW2
  517.   DUP XEQRCL
  518.   ::
  519.    DUPTYPERRP?
  520.    case2DROP
  521.    DUPTYPECSTR? IT
  522.    ::
  523.     DUP DUPNULL$?
  524.     ITE DROPZERO CAR$
  525.     CHR>#
  526.     40 #=casedrop
  527.      ROMPTR 4D2 1 (\->RPL)
  528.     42 #<> ?SEMI
  529.     ROMPTR 4D2 4 (\->COD)
  530.     DROP
  531.    ;
  532.    SWAPROT #1+
  533.   ;
  534.  LOOP
  535.  ABND UNCOERCE
  536.  ROMPTR 4C5 6 (\->DIR)
  537. ;
  538.  
  539.   tEVAL
  540. C$ 173 (tEVAL)
  541. ::
  542.  CK1NoBlame
  543.  GARBAGE
  544.  CLKTICKS 1LAMBIND
  545.  xEVAL
  546.  CLKTICKS 1GETABND
  547.  bit- HXS>%
  548.  % 8.192 SWAPOVER %/
  549.  SWAP %- %3 RNDXY
  550.  UNIT
  551.   %1 CHR m $ "s" umP
  552.   umEND
  553.  ;
  554.  UM>U
  555. ;
  556.  
  557.   FIXIT
  558. C$ 351 (FIXIT)
  559. ::
  560.  CK1NoBlame
  561.  DUPTYPECSTR?
  562.  NcaseTYPEERR
  563.  DUPONE 7 SUB$
  564.  $ "HPHP48-" EQUAL
  565.  NcaseSIZEERR
  566.  DUPLEN$ 8 #- #2*
  567.  SWAP GARBAGE
  568.  CODE
  569.   C=DAT1 A
  570.   CD1EX
  571.   D1=D1+ #A
  572.   D1=D1+ #10
  573.   CD1EX
  574.   DAT1=C A
  575.   LOOP
  576.  ENDCODE
  577.  DUP' xTYPE EvalNoCK
  578.  %27 %=
  579.  casedrop
  580.  :: # 304 ERROROUT
  581.  ;
  582.  DUP OSIZE ROT #>
  583.  casedrop
  584.  :: # 12C ERROROUT
  585.  ;
  586.  AtUserStack
  587.  TOTEMPOB
  588. ;
  589.  
  590.   ITYPE
  591. "(ITYPE, o \-> #)
  592. ::
  593.  CK1NoBlame
  594.  CODE
  595.   GOSBVL =PopASavptr
  596.   D1=A
  597.   C=DAT1 A
  598.   D=C    A
  599.   LCHEX  191B9
  600.   B=C    A
  601.   LCHEX  19128
  602.   A=0    A
  603. lp
  604.   A=A+1  A
  605.   D1=C
  606.   C=DAT1 A
  607.   ?D=C   A
  608.   GOYES  ex
  609.   D1=D1+ 5
  610.   CD1EX
  611.   ?B>C   A
  612.   GOYES  lp
  613.   A=0    A
  614.   GONC   by
  615. ex
  616.   C=0    A
  617.   LCHEX  F
  618.   ?C>=A  B
  619.   GOYES  by
  620.   A=A-C  A
  621.   ASL    A
  622.   A=A!C  A
  623. by
  624.   GOVLNG  =PUSH#ALOOP
  625.  ENDCODE
  626. ;"
  627.  
  628.   cst
  629. C$ 899 (cst)
  630. {
  631.  {
  632.   ::
  633.    PTR 3ECEE
  634.    $ "5/7" 28
  635.   ;
  636.   ::
  637.    PTR 3ED84 28
  638.   ;
  639.  }
  640.  {
  641.   ::
  642.    TakeOver
  643.    $ "Disassembler On/Off"
  644.    DROP
  645.    4 SysITE
  646.    GROB 3A 8000051000000000FFFFF118B30114440114550114440118B301FFFFF1
  647.    GROB 3A 8000051000000000FFFFF11000011000011000011CB701100001FFFFF1
  648.   ;
  649.   ::
  650.    PTR 3ED84 4
  651.    PTR 3919E
  652.   ;
  653.  }
  654.  {
  655.   ::
  656.    PTR 3ECD0
  657.    $ "RPRT" 13
  658.   ;
  659.   ::
  660.    PTR 3ED84 13
  661.    PTR 3919E
  662.   ;
  663.  }
  664.  PTR 3E84F (ML)
  665.  {
  666.   $ "CF1-8"
  667.   ::
  668.    TakeOver
  669.    8
  670.    #1+_ONE_DO
  671.     INDEX@ ClrUserFlag
  672.    LOOP
  673.    SetDA2NoCh
  674.    SetDA3NoCh
  675.   ;
  676.  }
  677.  ::
  678.   TakeOver
  679.   ROMPTR 4D2 C (EC)
  680.  ;
  681.  ROMPTR 4C5 21 (STLIB)
  682.  ROMPTR 4C5 20 (PGLIB)
  683.  {
  684.   $ "SEND"
  685.   ::
  686.    CK1NoBlame
  687.    BlankDA12
  688.    xSEND xKERRM
  689.    xCLOSEIO
  690.    %0 InitMenu%
  691.    DUPNULL$? caseDROP
  692.   ;
  693.  }
  694.  {
  695.   $ "RECV"
  696.   ::
  697.    CK0NOLASTWD
  698.    BlankDA12
  699.    xRECV xKERRM
  700.    xCLOSEIO
  701.    %0 InitMenu%
  702.    DUPNULL$? caseDROP
  703.   ;
  704.  }
  705.  PTR 3EBAF (CLK)
  706.  PTR 3BBA6 (BEEP)
  707. }
  708.  
  709.   DAR
  710. C$ 611 (DAR)
  711. ::
  712.  CK1NoBlame
  713.  DUPTYPEHSTR?
  714.  NcaseTYPEERR
  715.  '
  716.  ::
  717.   8
  718.   #1+_ONE_DO
  719.    INDEX@ ClrUserFlag
  720.   LOOP
  721.  ;
  722.  ' ROMPTR 4D2 7 (DA1)
  723.  ROMPTR@ DROP
  724.  OVER
  725.  { NULLLAM NULLLAM }
  726.  BIND
  727.  EVAL
  728.  DUPDUP BlankDA12
  729.  $ "Press <ENTER> to see next line"
  730.  DispCoord1
  731.  BEGIN
  732.   2GETLAM EvalNoCK
  733.   SWAP
  734.   ABUFF 0 8 131 64
  735.   SUBGROB
  736.   ABUFF ZEROZERO GROB!
  737.   DISPROW7
  738.   WaitForKey DROP
  739.   45 #=casedrop
  740.   ::
  741.    1GETABND EVAL ABORT
  742.   ;
  743.   25 #<>
  744.  UNTIL
  745.  1GETABND EVAL
  746.  OVER HXS>$ $ "From: "
  747.  !insert$ NEWLINE$&$
  748.  OVER HXS>$ $ "To  : "
  749.  !insert$ !append$
  750.  DISPSTATUS2
  751.  ROMPTR 4D2 8 (DAXY)
  752.  SWAP HXS>$
  753.  $ "* " !insert$
  754.  NEWLINE$&$
  755.  !insert$
  756. ;
  757.  
  758.   Strip
  759. "(Strip, o \-> o')
  760. ::
  761.  CK1NoBlame
  762.  '
  763.  ::
  764.   ?ATTNQUIT
  765.   DUPTYPELIST? case
  766.   :: 1GETLAM EVAL {}N
  767.   ;
  768.   DUPTYPESYMB? case
  769.   :: 1GETLAM EVAL SYMBN
  770.   ;
  771.   DUPTYPECOL? NOT?SEMI
  772.   DUPLENCOMP #0=?SEMI
  773.   DUP CARCOMP
  774.   ' x<< EQ IT CDRCOMP
  775.   DUP DUPLENCOMP
  776.   NTHELCOMP NOT?SEMI
  777.   ' x>> EQ IT
  778.   ::
  779.    DUPLENCOMP #1-
  780.    ONESWAP SUBCOMP
  781.   ;
  782.   1GETLAM EVAL ::N
  783.  ;
  784.  DUP
  785.  '
  786.  ::
  787.   INNERDUP
  788.   DUP#0=csDROP
  789.   ZERO_DO
  790.    ROLL
  791.    BEGIN
  792.     { xENDTIC
  793.       xIF xUNTIL
  794.     }
  795.     OVER ' EQ POSCOMP
  796.     #0<>
  797.    WHILE
  798.    ::
  799.     DROP
  800.     ISTOP@
  801.     #1-DUP ISTOPSTO
  802.     INDEX@
  803.     OVER#=case DROP
  804.     ROLL
  805.    ;
  806.    REPEAT
  807.    INHARDROM?
  808.    ?SKIP 2GETEVAL
  809.    ISTOP@
  810.   LOOP
  811.  ;
  812.  { NULLLAM NULLLAM }
  813.  BIND EVAL ABND
  814. ;"
  815.  
  816.   GetKO
  817. C$ 144 (GtKO,\-> ob %)
  818. ::
  819.  0LASTOWDOB!
  820.  CK0NOLASTWD
  821.  BlankDA2
  822.  $ "Perform a keystroke\\031"
  823.  DISPROW5
  824.  WaitForKey
  825.  2DUP Key>U/SKeyOb
  826.  UNROT CodePl>%rc.p
  827. ;
  828.  
  829.   F&R
  830. "(F&R:$ $f $r \-> $)
  831. ::
  832.  0LASTOWDOB!
  833.  CK3NOLASTWD
  834.  CK&DISPATCH1
  835.  # 333 ($$$)
  836.  ::
  837.   UNROT 2DUP 1 POS$
  838.   DUP#0=case
  839.   :: 2DROP SWAPDROP
  840.   ;
  841.   SWAP DUPLEN$
  842.   5UNROLL 5UNROLL
  843.   NULL$ UNROT
  844.   BEGIN
  845.    2DUP 7PICK #+
  846.    OVERLEN$ SUB$
  847.    5UNROLL
  848.    #1-1SWAP SUB$ &$
  849.    OVER &$ ROTDUP
  850.    6PICK 1 POS$
  851.    DUP#0=
  852.   UNTIL
  853.   DROP &$
  854.   4UNROLL3DROP
  855.  ;
  856. ;"
  857.  
  858.   DBG
  859. "(DBG)
  860. ::
  861.  HARDBUFF TOTEMPOB
  862.  1LAMBIND
  863.  PTR 39BAD (DispStack)
  864.  WaitForKey DROP
  865.  ZEROZERO 1GETABND
  866.  XYGROBDISP
  867.  25 (kcEnter) #= ?SEMI
  868.  AtUserStack ABORT
  869. ;"
  870.  
  871.   Types
  872. "(Types)
  873. ::
  874.  CK0NOLASTWD
  875.  BlankDA2
  876.  13 18
  877.  GROB 398 320008600020003D00003E6E0EE4400776AE500805100801AA082011051AAA50083510080D6A0E688007366E5A2825100809AA082440041AA22A283D00003EAE0E20110716A2000000000000000000000000003208312118172E0AE85402726E2800215B1822510A24011512A42400117518227D0E64880732A4220801511822590824440512A47808075118125E082811151E64000000000000000000000000007C28300008359A3EE4C6037EA6428825200805B21224440512A4724830000815F21E6444033644122825200805D21824440512A47C8830100837921E2CD6031EAE000000000000000000000000007C38321E09351D0CE85D067EAE4A0825118A05151224451112A87C18371D8A121D0E64CD01364E482025198A05151A24451112A27E18357E09057D0E2855161EAE0000000000000000000000000056301656893A000EE8DD037EAE52282151090F100824451512A872283221091A0004644515364E42282421090F100224451512A8463823268B0A000228DD031EAE000000000000000000000000007C6815568B33370EE443077EAA144825510A05550A24450112AA76C817228B13370E644303364E444825548805510A24450112A87C6815538B05510E2C53071EA8
  878.  XYGROBDISP
  879.  SetDA2OKTemp
  880. ;"
  881.  
  882.   Time
  883. "(Time)
  884. ::
  885.  CK0NOLASTWD
  886.  # FFFFF DUPDUP
  887.  '
  888.  ::
  889.   SWAP 10 #/
  890.   ROTSWAP #1+
  891.   1GETSWAP
  892.   NTHCOMPDROP
  893.   HARDBUFF 3PICK 28
  894.   GROB!
  895.   SWAP#1+
  896.   1GETSWAP
  897.   NTHCOMPDROP
  898.   HARDBUFF
  899.   ROT 11 #+ 28
  900.   GROB!
  901.  ;
  902.  {
  903.   GROB 42 E0000A0000CF00CF00303030303C303C3033303330F030F03030303030CF00CF00
  904.   GROB 42 E0000A000003000300C300C30003000300030003000300030003000300CF00CF00
  905.   GROB 42 E0000A0000CF00CF0030303030003000300F000F00C000C00030003000FF30FF30
  906.   GROB 42 E0000A0000CF00CF003030303000300030CF00CF000030003030303030CF00CF00
  907.   GROB 42 E0000A00000C000C000F000F00CC00CC003C003C00FF30FF300C000C000C000C00
  908.   GROB 42 E0000A0000FF30FF3030003000FF00FF00003000300030003030303030CF00CF00
  909.   GROB 42 E0000A00000F000F00C000C00030003000FF00FF003030303030303030CF00CF00
  910.   GROB 42 E0000A0000FF30FF30003000300C000C0003000300C000C000C000C000C000C000
  911.   GROB 42 E0000A0000CF00CF003030303030303030CF00CF003030303030303030CF00CF00
  912.   GROB 42 E0000A0000CF00CF003030303030303030CF30CF30003000300C000C00C300C300
  913.  }
  914.  ' NULLLAM 5 NDUPN
  915.  DOBIND
  916.  BlankDA2
  917.  49 28
  918.  GROB 22 C000040000000060F0F060000060F0F060
  919.  78 3PICK3PICK
  920.  XYGROBDISP XYGROBDISP
  921.  BEGIN
  922.   GARBAGE
  923.   TOD DUP %IP>#
  924.   3GETLAM OVER#=
  925.   ITE_DROP
  926.   :: DUP 3PUTLAM
  927.      26 2GETEVAL
  928.   ;
  929.   %FP %10* %10*
  930.   DUP %IP>#
  931.   4GETLAM OVER#=
  932.   ITE_DROP
  933.   :: DUP 4PUTLAM
  934.      55 2GETEVAL
  935.   ;
  936.   %FP %10* %10* %IP>#
  937.   5GETLAM OVER#=
  938.   ITE_DROP
  939.   :: DUP 5PUTLAM
  940.      84 2GETEVAL
  941.   ;
  942.   ?ATTNQUIT
  943.   GETTOUCH
  944.  UNTIL
  945.  DROP
  946.  ABND
  947.  PTR 393D3 (SetDA1NoCh)
  948.  SetDA3NoCh
  949. ;"
  950. END
  951.